The invention relates generally to data communications, and more particularly, to a channel aggregation method and apparatus featuring low latency and low overhead and applicable to channels with varying channel rates.
In the field of digital communications, it is often useful to improve the effective communications bandwidth between two entities by aggregating multiple communication channels to transmit a single data stream. For example, video teleconferencing systems which operate over "plain old telephone service" (POTS) lines require, for acceptable resolution and frame rate, data transmission rates which exceed those which can be provided by a single line. Greater data transmission rates can be achieved by using multiple POTS lines to form a single communications link. A known technique for channel aggregation is the use of a synchronous aggregation protocol. Synchronous aggregation protocols operate by fixing the pattern in which units of data are distributed to each channel. Since the pattern is fixed (for a given channel count), there is no overhead needed to assure that the transmitter and receiver can uniquely determine which units of data are to travel over which channel. Since there is no overhead, the units of distributed data may be arbitrarily small, resulting in little latency added by the protocol. As a result, synchronous protocols can simultaneously achieve both low latency and lower overhead. However, because the distribution pattern is fixed, synchronous channel aggregation protocols cannot operate on channels of arbitrary, differing, or time varying bit-rate. They cannot, for example, reliably operate over POTS lines, since each POTS line will have an unpredictable quality, resulting in unpredictable transmission rates on any given line. An alternative known technique for channel aggregation is the use of a packet oriented channel aggregation protocol. In a packet oriented channel aggregation protocol, data is divided into fixed or variable length packets and each packet is transmitted on one of the channels over which the aggregation is being performed. The transmitter typically chooses to send a packet on the channel whose transmit queue is least full--allowing it to distribute packets proportionally on all channels regardless of their rate. With each packet, the transmitter must include a header to delineate packet boundaries and identify the original order of the packets so that the receiver can reconstruct the original data stream. The overhead of a packet oriented channel aggregation protocol is inversely proportional to the size of the packets--the smaller the packet, the larger the percentage of the packet size that consists of header or overhead information. The latency of transmission, however, is proportional to the size of the packets--the larger the packet, the greater the latency introduced by the channel aggregation protocol. This results in a trade-off between latency and overhead in known packet based channel aggregation protocols.
It is an object of the invention to achieve a channel aggregation protocol which can operate over an arbitrary and varying number of channels of arbitrary, differing, and time-varying bit rates, but which simultaneously exhibits low overhead and low latency. Another object of the invention is to achieve this result in a protocol of low implementation complexity. Another object of the invention is to achieve this result over channels which are unidirectional or bi-directional.